import request from './index.js'

// 用户相关接口
export const userApi = {
    // 邮箱验证码注册
    register: (data) => {
        return request({
            url: '/user/register',
            method: 'post',
            data
        })
    },
    // 手机验证码注册（一步式）
    registerBySms: (data) => {
        return request({
            url: '/user/register/sms',
            method: 'post',
            data
        })
    },
    // 手机验证码注册第一步
    registerSmsStep1: (data) => {
        return request({
            url: '/user/register/sms/step1',
            method: 'post',
            params: data
        })
    },
    // 手机验证码注册第二步
    registerSmsStep2: (data) => {
        return request({
            url: '/user/register/sms/step2',
            method: 'post',
            params: data
        })
    },
    // 用户登录
    login: (data) => {
        return request({
            url: '/user/login',
            method: 'post',
            data
        })
    },
    //手机验证码登录
    smsLogin: (data) => {
        return request({
            url: '/user/login/sms',
            method: 'post',
            data
        })
    },
    // 邮箱验证码登录
    emailLogin: (data) => {
        return request({
            url: '/user/login/email',
            method: 'post',
            params: data  // 使用params传递参数，这样会以查询参数方式发送
        })
    },
    // 发送短信验证码
    sendSmsCode: (phone, type) => {
        return request({
            url: '/user/send/sms',
            method: 'post',
            params: {
                phone,
                type // login-登录, register-注册, reset-重置密码
            }
        })
    },
    // 发送邮箱验证码
    sendEmailCode: (email, type) => {
        return request({
            url: '/user/send/email',
            method: 'post',
            params: {
                email,
                type // login-登录, register-注册, reset-重置密码
            }
        })
    },
    // 检查用户名是否存在
    checkUsername: (username) => {
        return request({
            url: '/user/check/username',
            method: 'get',
            params: { username }
        })
    },
    // 更新用户信息
    updateUser: (data) => {
        return request({
            url: '/user',
            method: 'put',
            data
        })
    },
    // 获取用户信息
    getUserInfo: () => {
        return request({
            url: '/user/info',
            method: 'get'
        })
    },
    // 修改密码
    changePassword: (data) => {
        return request({
            url: '/user/password',
            method: 'put',
            data
        })
    },
    // 重置密码
    resetPassword: (data) => {
        return request({
            url: '/user/password/reset',
            method: 'post',
            data
        })
    },
    // 退出登录
    logout: () => {
        return request({
            url: '/user/logout',
            method: 'post'
        })
    }
} 